package org.batatasframework.strategy;

/**
 * 
 * 策略执行后返回的结果，通过结果来指示下一步需要做什么事情
 * 
 * @author jackson
 *
 */
public enum ServerStrategyResult {
	
	/** 执行成功要求直接退出，不再执行下一个循环，如果还有下一个策略的话 */
	RETURN,
	
	/** 直接退出本次策略的检查，执行策略检查完成后后面的语句。
	 * 如：后面的多个策略是要求关闭系统的，但前面有一个策略已经指定了开放系统，如果返回这个值，则不再检查后面的策略 */
	BREAK,
	
	/** 当前的策略可能被执行，也可能没被执行，但该策略要求继续检查下一个策略 */
	CONTINUE, 
	
	/** 标志为需要退出的状态，但需要检查后面的策略，如果后面有策略放行的，则会放行；
	 * 如果后面的策略都是返回{@link #CONTINUE}，则退出 */
	MAYOUT;
}
